﻿using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System;

namespace EasyLift.TMS.Web.Models
{
    [MetadataType(typeof(DriverMetaData))]
    public partial class Driver
    {
        public class DriverMetaData
        {
            [DisplayName("Civil ID")]
            [Required(ErrorMessage = "Civil ID is required")]
            public object CivilID { get; set; }

            [DisplayName("First Name")]
            [Required(ErrorMessage = "First Name is required")]
            [StringLength(150)]
            public object FirstName { get; set; }

            [DisplayName("Middle Name")]
            public object MiddleName { get; set; }


            [DisplayName("Last Name")]
            public object LastName { get; set; }


            [DisplayName("Arabic First Name")]
            public object ArabicFirstName { get; set; }

            [DisplayName("Arabic Middle Name ")]
            public object ArabicMiddleName { get; set; }

            [DisplayName("Arabic Last Name")]
            public object ArabicLastName { get; set; }

            [DisplayName("Country")]
            public object CountryCode { get; set; }
                        
            [DisplayName("Nationality")]
            public object Nationality { get; set; }

            [DisplayName("Nationality in Arabic")]
            public object NationalityInArabic { get; set; }


            [DisplayName("Date Of Birth")]
            public object DateOfBirth { get; set; }

            [DisplayName("Age")]
            public object Age { get; set; }

            [DisplayName("Spouse Name")]
            public object SpouseName { get; set; }

            [DisplayName("Fathers Name")]
            public object FathersName { get; set; }

            [DisplayName("Grand Fathers Name")]
            public object GrandFathersName { get; set; }

            [DisplayName("GrandMothersName")]
            public object GrandMothersName { get; set; }

            [DisplayName("MothersName")]
            public object MothersName { get; set; }

            [DisplayName("MothersFatherName ")]
            public object MothersFatherName { get; set; }

            [DisplayName("MartialStatus")]
            public object MartialStatus { get; set; }

            [DisplayName("CityOfBirth")]
            public object CityOfBirth { get; set; }

            [DisplayName("PlaceOfBirth")]
            public object PlaceOfBirth { get; set; }

            [DisplayName("EyeColor")]
            public object EyeColor { get; set; }

            [DisplayName("HairColor")]
            public object HairColor { get; set; }

            [DisplayName("HeightInCM")]
            public object HeightInCM { get; set; }

            [DisplayName("HeightInFeet")]
            public object HeightInFeet { get; set; }

            [DisplayName("WeightInKG")]
            public object WeightInKG { get; set; }

            [DisplayName("WeightInLbs")]
            public object WeightInLbs { get; set; }

            [DisplayName("Race")]
            public object Race { get; set; }

            [DisplayName("Religion")]
            public object Religion { get; set; }

            [DisplayName("BloodGroup")]
            public object BloodGroup { get; set; }

            [DisplayName("PermanentAddess")]
            public object PermanentAddess { get; set; }

            [DisplayName("LocalAddress")]
            public object LocalAddress { get; set; }

            [DisplayName("Education")]
            public object Education { get; set; }

            [DisplayName("Specialization")]
            public object Specialization { get; set; }

            [DisplayName("Photo")]
            public object Photo { get; set; }

            [DisplayName("SocialSecurityNo")]
            public object SocialSecurityNo { get; set; }

            [DisplayName("PassportNo")]
            public object PassportNo { get; set; }

            [DisplayName("PassportDateOfIssue")]
            public object PassportDateOfIssue { get; set; }

            [DisplayName("PassportDateOfExpiry")]
            public object PassportDateOfExpiry { get; set; }

            [DisplayName("PassportPlaceOfIssue")]
            public object PassportPlaceOfIssue { get; set; }

            [DisplayName("MasterListNo")]
            public object MasterListNo { get; set; }

            [DisplayName("EmployeeNo")]
            public object EmployeeNo { get; set; }

            [DisplayName("ExternalEmployeeNo")]
            public object ExternalEmployeeNo { get; set; }

            [DisplayName("ContactNo")]
            public object ContactNo { get; set; }

            [DisplayName("ExtensionNo")]
            public object ExtensionNo { get; set; }

            [DisplayName("FaxNo")]
            public object FaxNo { get; set; }

            [DisplayName("NextOfKin")]
            public object NextOfKin { get; set; }

            [DisplayName("KinRelationship")]
            public object KinRelationship { get; set; }

            [DisplayName("KinContactNo")]
            public object KinContactNo { get; set; }

            [DisplayName("KinNativelLanguage")]
            public object KinNativelLanguage { get; set; }

            [DisplayName("Department")]
            public object DepartmentCode { get; set; }

            [DisplayName("Designation")]
            public object DesignationCode { get; set; }

            [DisplayName("Company")]
            public object CompanyCode { get; set; }

            [DisplayName("Designation Arabic")]
            public object DesignationArabic { get; set; }

            [DisplayName("Leave Entitled")]
            public object LeaveEntitled { get; set; }

            [DisplayName("Leave Accrued")]
            public object LeaveAccrued { get; set; }

            [DisplayName("Accomodation Code")]
            public object AccomodationCode { get; set; }

            [DisplayName("Pay By Cash")]
            public object PayByCash { get; set; }

            [DisplayName("Bank Name")]
            public object BankName { get; set; }

            [DisplayName("Bank Account No")]
            public object BankAccountNo { get; set; }

            [DisplayName("Expected Date Of Joining")]
            public object ExpectedDateOfJoining { get; set; }

            [DisplayName("Date Of Joining")]
            public object DateOfJoining { get; set; }

            [DisplayName("Residency No")]
            public object ResidencyNo { get; set; }

            [DisplayName("Residency Expairy Date")]
            public object ResidencyExpairyDate { get; set; }

            [DisplayName("CivilID Expairy Date")]
            public object CivilIDExpairyDate { get; set; }

            [DisplayName("Driving Licence No")]
            public object DrivingLicenceNo { get; set; }

            [DisplayName("Driving Licence Expiry Date")]
            public object DrivingLicenceExpiryDate { get; set; }

            [DisplayName("Shuaiba Pass No")]
            public object ShuaibaPassNo { get; set; }

            [DisplayName("Shuaiba Pass Expiry Date")]
            public object ShuaibaPassExpiryDate { get; set; }

            [DisplayName("Shuaiba Pass Remarks")]
            public object ShuaibaPassRemarks { get; set; }

            [DisplayName("J2 South Pass No")]
            public object J2SouthPassNo { get; set; }

            [DisplayName("J2 South Pass Expiry")]
            public object J2SouthPassExpiry { get; set; }

            [DisplayName("J2 South Pass Remark")]
            public object J2SouthPassRemark { get; set; }

            [DisplayName("J2 North Pass No")]
            public object J2NorthPassNo { get; set; }

            [DisplayName("J2 North Pass Expiry")]
            public object J2NorthPassExpiry { get; set; }

            [DisplayName("J2 North Pass Remarks")]
            public object J2NorthPassRemarks { get; set; }

            [DisplayName("USF-Virginia Badge No")]
            public object USFVirginiaBadgeNo { get; set; }

            [DisplayName("USF-Virginia Badge Expiry")]
            public object USFVirginiaBadgeExpiry { get; set; }

            [DisplayName("USF-Virginia Badge Remarks")]
            public object USFVirginiaBadgeRemarks { get; set; }

            [DisplayName("ASG-KU Badge No")]
            public object ASGKUBadgeNo { get; set; }

            [DisplayName("ASG-KU Badge Expiry")]
            public object ASGKUBadgeExpiry { get; set; }

            [DisplayName("ASG-KU Badge Remarks")]
            public object ASGKUBadgeRemarks { get; set; }

            [DisplayName("Training Remark")]
            public object TrainingRemark { get; set; }

            [DisplayName("Violation Remark")]
            public object ViolationRemark { get; set; }

            [DisplayName("Accident Remark")]
            public object AccidentRemark { get; set; }

            [DisplayName("Remark 1")]
            public object Remark1 { get; set; }

            [DisplayName("Remark 2")]
            public object Remark2 { get; set; }

            [DisplayName("Remark 3")]
            public object Remark3 { get; set; }

            [DisplayName("Remark 4")]
            public object Remark4 { get; set; }

            [DisplayName("Remark 5")]
            public object Remark5 { get; set; }

            [DisplayName("Remark 6")]
            public object Remark6 { get; set; }

            [DisplayName("Vehicle Assigned")]
            public object VehicleAssigned { get; set; }

            [DisplayName("Mission Status")]
            public object DriverMissionStatusCode { get; set; }

            [DisplayName("HR Status")]
            public object DriverHRStatusCode { get; set; }
            
        }

    }


}